Public Class Equipo

    Private pnombre As String
    Private plistaEstudiantes As List(Of Estudiante)
    Private codigoEquipo As Integer

    Public Sub New(ByVal nombre As String, ByVal codigo As Integer)
        Me.pnombre = nombre
        Me.codigoEquipo = codigo
    End Sub

    Public ReadOnly Property ListaEstudiantes() As List(Of Estudiante)
        Get
            If (plistaEstudiantes Is Nothing) Then
                plistaEstudiantes = MultiEstudiante.BuscarEstudiantePorEquipo(codigoEquipo)
            End If
            Return plistaEstudiantes
        End Get
    End Property

    Public Sub AsignarEstudiante(ByVal estudiante As Estudiante)
        If (plistaEstudiantes Is Nothing) Then
            plistaEstudiantes = New List(Of Estudiante)
        End If
        plistaEstudiantes.Add(estudiante)
        MultiEquipo.AgregarEstudiante(estudiante, Me.codigoEquipo)

    End Sub

    Public Sub DesasignarEstudiante(ByVal estudiante As Estudiante)
        If (plistaEstudiantes Is Nothing) Then
            plistaEstudiantes = New List(Of Estudiante)
        End If
        plistaEstudiantes.Add(estudiante)
        MultiEquipo.DesasignarEstudiante(estudiante, Me.codigoEquipo)
    End Sub

    Public Property Nombre() As String
        Get
            Return pnombre
        End Get
        Set(ByVal value As String)
            pnombre = value
        End Set
    End Property

    Public ReadOnly Property Codigo() As Integer
        Get
            Return codigoEquipo
        End Get
    End Property

End Class
